package com.basic.modules.ykf.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.basic.common.annotation.DictParam;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 子账号录入记录
 *
 * @author maoheng
 * @email 15738859597@163.com
 * @date 2024-05-31 17:00:21
 */
@Data
@TableName("ykf_account_input_record")
public class YkfAccountInputRecordEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 *
	 */
	@TableId
	private Long inputRecordId;

	@TableField(exist = false)
	private List<Long> inputRecordIds;

	/**
	 * 日期
	 */
	@JsonFormat(pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date date;
	/**
	 * 平台编号 字典platform
	 */
	private String platformNo;
	/**
	 * 平台名称
	 */
	@DictParam(field = "platformNo", targetField = "platformName", dictType = "platform")
	private String platformName;
	/**
	 * 店铺ID
	 */
	private Long shopId;
	/**
	 * 店铺编号
	 */
	private String shopNo;
	/**
	 * 店铺名称
	 */
	private String shopName;
	/**
	 * 账号ID
	 */
	private Long subAccountId;
	/**
	 * 账号
	 */
	private String accountNo;
	/**
	 * 账号名称
	 */
	private String accountName;
	/**
	 * 客服类型编号 字典customType
	 */
	private String customTypeNo;
	/**
	 * 客服类型名称
	 */
	@DictParam(field = "customTypeNo", targetField = "customTypeName", dictType = "customType")
	private String customTypeName;
	/**
	 * 服务班次编号 字典serviceShift
	 */
	private String serviceShiftNo;
	/**
	 * 服务班次名称
	 */
	@DictParam(field = "serviceShiftNo", targetField = "serviceShiftName", dictType = "serviceShift")
	private String serviceShiftName;
	/**
	 * 销售额(元)
	 */
	private BigDecimal salesRevenue;
	/**
	 * 接待量(人)
	 */
	private BigDecimal receptionVolume;
	/**
	 * 转化率(%)
	 */
	private BigDecimal conversionRate;
	/**
	 * 转化率-是否忽略
	 */
	private Integer conversionRateIgnore;
	/**
	 * 响应时间(秒)
	 */
	private BigDecimal responseTime;
	/**
	 * 响应时间-是否（1/0）忽略
	 */
	private Integer responseTimeIgnore;
	/**
	 * 问答比(%)
	 */
	@JsonProperty(value = "qARatio")
	private BigDecimal qARatio;
	/**
	 * 问答比-是否（1/0）忽略
	 */
	@JsonProperty(value = "qARatioIgnore")
	private Integer qARatioIgnore;
	/**
	 * 回复率(%)
	 */
	private BigDecimal responseRate;
	/**
	 * 回复率-是否（1/0）忽略
	 */
	private Integer responseRateIgnore;
	/**
	 * 备注
	 */
	private String remark;
	/**
	 * 创建者ID
	 */
	@TableField(fill = FieldFill.INSERT)
	private Long createUserId;
	/**
	 * 创建人名称
	 */
	@DictParam(field = "createUserId", targetField = "createUserName", dictType = "flowerName")
	@TableField(fill = FieldFill.INSERT)
	private String createUserName;
	/**
	 * 创建时间
	 */
	@TableField(fill = FieldFill.INSERT)
	private Date createTime;

	@TableField(exist = false)
	private Integer beforeDays;

	@TableField(exist = false)
	private String keyword;

	@TableField(exist = false)
	@JsonFormat(pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date dateStart;

	@TableField(exist = false)
	@JsonFormat(pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date dateEnd;

	@TableField(exist = false)
	@JsonFormat(pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date startDate;

	@TableField(exist = false)
	@JsonFormat(pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date endDate;

	/**
	 * 销售额(元)
	 */
	@TableField(exist = false)
	private BigDecimal salesRevenueStart;
	@TableField(exist = false)
	private BigDecimal salesRevenueEnd;
	/**
	 * 接待量(人)
	 */
	@TableField(exist = false)
	private BigDecimal receptionVolumeStart;
	@TableField(exist = false)
	private BigDecimal receptionVolumeEnd;
	/**
	 * 转化率(%)
	 */
	@TableField(exist = false)
	private BigDecimal conversionRateStart;
	@TableField(exist = false)
	private BigDecimal conversionRateEnd;
	/**
	 * 响应时间(秒)
	 */
	@TableField(exist = false)
	private BigDecimal responseTimeStart;
	@TableField(exist = false)
	private BigDecimal responseTimeEnd;
	/**
	 * 问答比(%)
	 */
	@TableField(exist = false)
	@JsonProperty(value = "qARatioStart")
	private BigDecimal qARatioStart;
	@TableField(exist = false)
	@JsonProperty(value = "qARatioEnd")
	private BigDecimal qARatioEnd;
	/**
	 * 回复率(%)
	 */
	@TableField(exist = false)
	private BigDecimal responseRateStart;
	@TableField(exist = false)
	private BigDecimal responseRateEnd;

	/**
	 * 是否超标 1-超标 0-不超标
	 */
	@TableField(exist = false)
	private Integer exceedingFlag;

	/**
	 * customerName
	 */
	@TableField(exist = false)
	private String customerName;

	/**
	 * 接待量-基准值
	 */
	@TableField(exist = false)
	private BigDecimal receptionVolumeBase;
	/**
	 * 接待量超标提醒
	 */
	@TableField(exist = false)
	private String receptionVolumeDesc;

	/**
	 * 转化率(%)-基准值
	 */
	@TableField(exist = false)
	private BigDecimal conversionRateBase;
	/**
	 * 转化率超标提醒
	 */
	@TableField(exist = false)
	private String conversionRateDesc;

	/**
	 * 响应时间(秒)-基准值
	 */
	@TableField(exist = false)
	private BigDecimal responseTimeBase;
	/**
	 * 响应时间超标提醒
	 */
	@TableField(exist = false)
	private String responseTimeDesc;

	/**
	 * 超出率
	 */
	@TableField(exist = false)
	private BigDecimal overRate;

	/**
	 * 超出人数
	 */
	@TableField(exist = false)
	private BigDecimal overNum;

	/**
	 * 日预估提成
	 */
	@TableField(exist = false)
	private BigDecimal dayCommission;

	/**
	 * 总销售额(元)
	 */
	@TableField(exist = false)
	private BigDecimal sumSalesRevenue;
	/**
	 * 总接待量(人)
	 */
	@TableField(exist = false)
	private BigDecimal sumReceptionVolume;
	/**
	 * 平均接待量(人)
	 */
	@TableField(exist = false)
	private BigDecimal averageReceptionVolume;
	@TableField(exist = false)
	private BigDecimal averageReceptionVolumeStart;
	@TableField(exist = false)
	private BigDecimal averageReceptionVolumeEnd;
	/**
	 * 平均转化率(%)
	 */
	@TableField(exist = false)
	private BigDecimal averageConversionRate;
	@TableField(exist = false)
	private BigDecimal averageConversionRateStart;
	@TableField(exist = false)
	private BigDecimal averageConversionRateEnd;
	/**
	 * 平均响应时间(秒)
	 */
	@TableField(exist = false)
	private BigDecimal averageResponseTime;
	@TableField(exist = false)
	private BigDecimal averageResponseTimeStart;
	@TableField(exist = false)
	private BigDecimal averageResponseTimeEnd;
	/**
	 * 平均问答比(%)
	 */
	@TableField(exist = false)
	@JsonProperty(value = "averageQARatio")
	private BigDecimal averageQARatio;
	@TableField(exist = false)
	@JsonProperty(value = "averageQARatioStart")
	private BigDecimal averageQARatioStart;
	@TableField(exist = false)
	@JsonProperty(value = "averageQARatioEnd")
	private BigDecimal averageQARatioEnd;
	/**
	 * 平均回复率(%)
	 */
	@TableField(exist = false)
	private BigDecimal averageResponseRate;
	@TableField(exist = false)
	private BigDecimal averageResponseRateStart;
	@TableField(exist = false)
	private BigDecimal averageResponseRateEnd;

	@TableField(exist = false)
	private String name;
	@TableField(exist = false)
	private String flowerName;
	@TableField(exist = false)
	private String no;
	@TableField(exist = false)
	private String customGroup;
	@TableField(exist = false)
	private String customGroupName;

	@TableField(exist = false)
//	@JsonFormat(pattern = "yyyy-MM")
//	@DateTimeFormat(pattern = "yyyy-MM")
	private String month;

	@TableField(exist = false)
//	@JsonFormat(pattern = "yyyy-MM")
//	@DateTimeFormat(pattern = "yyyy-MM")
	private String monthStart;

	@TableField(exist = false)
//	@JsonFormat(pattern = "yyyy-MM")
//	@DateTimeFormat(pattern = "yyyy-MM")
	private String monthEnd;


	@TableField(exist = false)
	private BigDecimal inputCount;

	/**
	 * 总笔数
	 */
	@TableField(exist = false)
	private int sumCount;
	/**
	 * 打标笔数
	 */
	@TableField(exist = false)
	private int ignoreCount;

	/**
	 * 打标占比
	 */
	@TableField(exist = false)
	private String ignoreProportion;

	/**
	 * 忽略类型 1-转化率 2-响应时间 3-问答比 4-回复率
	 */
	@TableField(exist = false)
	private int ignoreType;

	/**
	 * 忽略后总接待量(人)
	 */
	@TableField(exist = false)
	private BigDecimal sumIgnoreReceptionVolume;

	/**
	 * 忽略后日平均接待量(人)
	 */
	@TableField(exist = false)
	private BigDecimal averageIgnoreDayReceptionVolume;

	/**
	 * 日平均接待量(人)
	 */
	@TableField(exist = false)
	private BigDecimal averageDayReceptionVolume;

	/**
	 * 忽略后平均响应时间(秒)
	 */
	@TableField(exist = false)
	private BigDecimal averageIgnoreResponseTime;
	/**
	 * 忽略后平均问答比(%)
	 */
	@TableField(exist = false)
	@JsonProperty(value = "averageIgnoreQARatio")
	private BigDecimal averageIgnoreQARatio;
	/**
	 * 忽略后平均回复率(%)
	 */
	@TableField(exist = false)
	private BigDecimal averageIgnoreResponseRate;

	/**
	 * 休息天数
	 */
	@TableField(exist = false)
	private BigDecimal restDays;

	/**
	 * 用户ID
	 */
	@TableField(exist = false)
	private Long userId;

	/**
	 * 创建用户ID数组
	 */
	@TableField(exist = false)
	private List<Long> createUserIds;


	/**
	 * 录入类型
	 */
	@TableField(exist = false)
	private Integer inputType;

	@TableField(exist = false)
	private List<Long> powerSubAccountIds;

	@TableField(exist = false)
	private List<Long> powerShopIds;

	@TableField(exist = false)
	private String inputRecordIdStr;


	@TableField(exist = false)
	@JsonFormat(pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date createDateStart;

	@TableField(exist = false)
	@JsonFormat(pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date createDateEnd;

	/**
	 * 自定义字段
	 */
	private String customField;


	@TableField(exist = false)
	private String companyNo;

	@TableField(exist = false)
	private BigDecimal days;

	@TableField(exist = false)
	private BigDecimal sumResponseRate;

}
